/////////////////////////////////////////////////////////////////////
//	$file: $
//	$revision: $
//	$author: $
//	$datetime: $
//	first author: buggy

#ifndef	__SourceNavigatorApp_h__
#define	__SourceNavigatorApp_h__

#include	<QApplication>
#include	<QPoint>
#include	<QVector>
#include	<QIcon>

class	SourceNavigator;

///////////////////////////////////////////////////////////
//	Source Navigator Application
class	SourceNavigatorApp	:	public	QApplication
{
public:
	SourceNavigatorApp(int& argc, char** argv);
	virtual	~SourceNavigatorApp();

	bool	Initialize(const char* path);

public:
	static	const SourceNavigator*	MainWidget();

	static	void	OpenTextEditor(const QString& id, const QString& path, int startPosition = 0);
	static	void	CloseTextEditor(const QString& id, const QString& path);
	static	void	SaveTextEditorFile(const QString& id, const QString& path);
	static	void	MoveTextEditorWindow(const QString& id, const QString& path, int positionIndex);

	static	void	OpenShellWindow(const QString& shellCommand = "");

private:
	SourceNavigator*	_srcnav;
	QString				_scriptPath;
};


#endif	//	__SourceNavigatorApp_h__
